草庐IT

Android MediaCodec dequeueInputBuffer 总是返回 -1

全部标签

c# - 返回无效或过期 token 的错误

我正在尝试使用Owin实现OAuthBearer身份验证。当传递无效或过期的token时,默认实现是将其记录为警告,只是不设置身份。但是,在这种情况下,我想拒绝整个请求并出错。但我该怎么做呢?在深入研究代码后,我发现在OAuthBearerAuthenticationHandler中,当提供的AuthenticationTokenProvider未解析任何票证(如默认执行)。当token无法解析为任何票证或token过期时,此处理程序将记录警告。但是我找不到任何地方来插入我自己的逻辑来处理token无效或过期时发生的情况。理论上我可以在AuthenticationTokenProvid

c# - Entity Framework ——存储过程返回值

我正在尝试获取存储过程的返回值。以下是此类存储过程的示例:selectName,IsEnabledfromdbo.somethingwhereID=@IDif@@rowcount=0return1return这是一个简单的选择。如果找到0行,我的结果集将为空,但我仍然会有返回值。这是一个不好的例子,因为这是一个选择,所以如果返回0行,我肯定能找到。但是,在插入、删除或其他调用中,我们需要此返回值来了解是否存在问题。我一直无法找到获得此返回值的方法。可以得到输出值,可以得到结果集,但是没有返回值。如果我手动调用SQL,或者即使我使用EntityFramework运行SqlCommand,

c# - 如果线程正在等待异步操作完成,.NET Task 线程的资源是否会暂时返回池中?

我有一个做两件事的TPL任务。首先,它调用网络服务。其次,它将一些数据插入数据库。我有多达20个任务同时开始,一遍又一遍地做同样的事情。他们整天所做的就是调用Web服务并将数据插入数据库。我对.NET中的TPL还很陌生。我已经完成了一些有关后台工作进程和异步Web服务的工作。Web服务调用和数据库插入都是任务运行线程内的阻塞调用。我知道在幕后,当您使用Tasks时,.NET会为您管理一个线程池。是吗?如果我使用async和await()进行服务调用和数据库调用而不是使它们阻塞调用,线程池是否会有更多线程供其使用?我的理论(我不确定我为什么这么认为)是线程在等待阻塞的Web服务时正忙于无

c# - 如果使用可为空的 int 变量,LINQ 返回 0 个结果,如果使用 "null",则返回准确的结果

我有一个名为“test”的表,它只有1列,“NullableInt”(可为空的int类型)记录为:1、2、nullint?nullableInt=null;vart=db.tests.Where(x=>x.NullableInt==null).ToList();//returns1recordvart2=db.tests.Where(x=>x.NullableInt==nullableInt).ToList();//returns0records出于某种原因,t2返回0条记录,即使它使用了值为null的“nullableInt”变量,就像t与“null”进行比较一样如有任何帮助,我们将

c# - 为什么 C# LinkedList.RemoveFirst() 不返回删除的值?

C#的LinkedList的RemoveFirst()和RemoveLast()操作不返回删除的值是否有一些惯用的、性能的或设计哲学的原因?现在,如果我想读取并删除第一个值,我相信咒语是:LinkedListlist=...;...stringremoved=list.First.Value;list.RemoveFirst();在Java中,它将是:LinkedListlist=...;...Stringremoved=list.removeFirst();不要误会我的意思;我并不是说Java更好。C#的LinkedList具有更多功能,只需将Node公开为公共(public)结构即

c# - 为什么 Request.Form.ToString() 的返回值与 NameValueCollection.ToString() 的结果不同

好像HttpContext.Request.Form中的ToString()被修饰了所以结果不一样从直接在NameValueCollection上调用时从ToString()返回的那个:NameValueCollectionnameValue=Request.Form;stringrequestFormString=nameValue.ToString();NameValueCollectionmycollection=newNameValueCollection{{"say","hallo"},{"from","me"}};stringnameValueString=mycollec

c# - TypeDescriptor.GetConverter() 不返回我的转换器

我有一个简单类型,带有一个在运行时编译和加载的自定义类型转换器。TypeDescriptor.GetConverter()虽然没有找到正确的转换器。这是一个独立的例子usingSystem;usingSystem.ComponentModel;usingSystem.Collections.Generic;usingSystem.CodeDom.Compiler;usingMicrosoft.CSharp;publicclassProgram{privatestaticstringsrc=@"usingSystem;usingSystem.ComponentModel;namespac

c# - 可以使用 DataReader 返回输出参数

使用ExecuteReader我能够返回一个DataReader,但是out参数返回0。使用ExecuteNonQuery我能够检索out参数(具有正确的值),但ExecuteNonQuery不返回DataReader。这里是给出上下文的过程:SQL查询:CREATEPROCEDURE[dbo].[SelectDays]@dateStartdatetime,@dateEnddatetime,@recordCountbigintoutASBEGINselect@recordCount=count(*)fromdbo.[Days]where[Date]>=@dateStartand[Dat

c# - 从 Delphi 调用 dotNET 并返回一个字符串

Delphi应用程序如何调用导出函数(非COM)dotNET程序集并让函数返回字符串?COM不是我的特定应用程序的可能解决方案。我可以控制通话的两端。到目前为止我尝试过的-Delphi客户端typeTStrProc=procedure(varx:widestring);stdcall;functionTryIt:string;varHandle:THandle;Proc:TStrProc;InData:widestring;OutData:widestring;beginHandle:=LoadLibrary('DelphiToDotNet.dll');ifHandle=0thenex

c# - Socket.Receive 什么时候返回数据?

又是初学者问题:有点像我不久前提出的问题的跟进。我正在尝试理解这个同步套接字教程http://msdn.microsoft.com/en-us/library/6y0e13d3.aspx,尤其是下面代码中的一行。问题:我想确保我正确理解程序流程。什么时候handler.Receive(bytes)返回?当它“溢出”并接收到超过1024字节时,它是否返回并存储接收到的字节数在intbytesRec**中?**如果是这样的话,这听起来可能很愚蠢,如果在*data*变量中存储1024个字节而不是监听更多字节时到达更多字节会发生什么那可能会在那个时候到达?还是我不应该担心,让.net来处理?S